在生物資訊領域中,我們最常幹的事情裡頭絕對少不了序列比對 (sequence alignment)這個工作,而我們用來評估比對後結果的好壞,最常使用的標準之一又是所謂的序列一致性 (sequence identity)。不過往往聽到有人提到sequence identity的時候,其實他更有可能想表達的是兩個比對序列之間的分歧性 (divergence)或是query sequence的定序錯誤率 (sequencing error rate)。為了搞清楚所謂的sequence identity到底指的是哪件事,這篇文特別來就不同的定義來說明其差異及可能造成的影響,以便之後當我們再聽到有人說sequence identity時,可以問清楚他指的是哪一種情況。
現在我手邊有兩條序列,一是reference sequence,一是query sequence:
CCAGTGTGGCCGATACCCCAGGTTGGCACGCATCGTTGCCTTGGTAAGC
CCAGTGTGGCCGATGCCCGTGCTACGCATCGTTGCCTTGGTAAGC
將這兩個序列進行比對之後,我們可以得到這樣的結果:
Ref+: 1 CCAGTGTGGCCGATaCCCcagGTtgGC-ACGCATCGTTGCCTTGGTAAGC 49
|||||||||||||| ||| || || ||||||||||||||||||||||
Qry+: 1 CCAGTGTGGCCGATgCCC---GT--GCtACGCATCGTTGCCTTGGTAAGC 45
圖中的 -
表示該序列跟與之比對的序列相比,缺少一個字元,也稱為 gap ; **|
**則表示兩個序列之間可以比對上的部份;兩條序列對應都小寫字元的部份,則表示這個地方兩條序列都有字元,但比對不上。
顧名思義就是排除所有的gap後,只考慮比對的上以及比對不上區域的序列一致性。在上面的例子裡,比對上的字元總計有43個,比對不上的字元總計1個,因此這邊的序列一致性就會等於43 / (43+1) = 97.7 %。這個計算方式也是過去我們常常說人類與黑猩猩基因序列的一致性高達百分之90幾時所用的方法。
這種一致性的計算就很簡單了,簡單說就是只計算在所有Reference sequence的字元中,query sequence能比對上的字元數。因此在上面的例子中,序列一致性就會等於43 / 50 = 86 %。這個定義也是我們最常用的序列一致性的定義,不過使用時要非常小心,尤其是當你要比對的序列有所謂的transposon時,這可能會讓你丟掉很多有生物意義的序列。
這個序列一致性的定義就比較特別了,它會將出現連續gap部位的所有字元壓縮,僅用第一個字元來表示,也就是像這樣:
Ref+: CCCcagGTtgGC-ACGC Ref+: CCCcGTtGC-ACGC
||| || || |||| ==> ||| || || ||||
Qry+: CCC---GT--GCtACGC Qry+: CCC-GT-GCtACGC
所以回到上面那個例子,這時序列一致性就會變成43 / (50 - 2 - 1) = 91.5 %,原本的長gap分別減少2跟1個字元的長度。
在前面的說明中,我們已經可以看到不同的序列一致性的定義會得到不一樣的結果,這邊更需要注意的是當我們改變懲罰分數的值的時候,就算用的是同一種定義,也會得到不同的結果。比如說,前面我們計算BLAST identity時,只計算了比對上序列比例,但如果加上了gap-open的懲罰分數就會讓原本的一致性降低,而且原本的懲罰分數是扣兩分,如果改成扣四分,就會讓序列一致性再次降低。
當我們說到序列一致性時,請記得將所用的定義補上。